using System;

namespace ArtSpec
{
    internal interface ISpecifyContext : ISpecify
    {
        event Action<ISpec> OnResult;

        Action BeforeAll { get; set; }
        Action AfterAll { get; set; }
        Action BeforeEach { get; set; }
        Action AfterEach { get; set; }

        event Action OnBeforeEach;
        event Action OnAfterEach;

        void Add(ISpecifyContext context);
        void Add(ISpecifyIt spec);
        void Verify();
    }
}